package org.zch.service;

import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.zch.entity.po.AdminInfoPO;
import org.zch.entity.po.ZuoRuiPO;

import java.util.List;

/**
 * 焯瑞开关服务类
 *
 * @author 赵昌虎
 */
@Service
public interface ZuoRuiService {

    /**
     * 新增设备
     */
    @Async
    @Transactional(rollbackFor = Exception.class)
    Integer addZuoRui(String ip8266, String status);

    /**
     * 修改开关状态
     *
     */
    @Transactional(rollbackFor = Exception.class)
    Integer upZuoRuiStatus(String ip8266, String status);

    /**
     * 修改紧急状态
     *
     */
    @Transactional(rollbackFor = Exception.class)
    Integer upZuoRuiDanger(String ip8266, String danger);

    /**
     * 修改定时开关
     *
     */
    @Transactional(rollbackFor = Exception.class)
    Integer upZuoRuiTime(String ip8266, String timeRepeat,String timeOpen,String timeClose);

    /**
     * 获取开关状态
     */
    String getZuoRuiStatus(String ip8266);

    /**
     * 获取开关信息
     */
    ZuoRuiPO getZuoRui(String ip8266);

    /**
     * 更新上次登录时间
     */
    Integer upLastTime(String ip8266);

    /**
     * 查询所有开关
     */
    List<ZuoRuiPO> findAll();


}
